<?php

namespace app\admin\controller;
use app\admin\model\Cate as CateModel;
use houdunwang\arr\Arr;

class Cate extends Common
{

//    前置操作,执行del方法之前先执行delsoncate
    protected $beforeActionList = [
        'delsoncate'  =>  ['only'=>'del'],
    ];


//    添加
    public function add()
    {
        if(request()->isPost()){

            $res = db('cate')->insert(input('post.'));
            if ($res){
//                如果有值的话就弹框，并且跳到列表页
                $this->success('栏目添加成功',url('cate/lst'));
            }else{
                $this->error('添加栏目失败');
            }
            return;
        }
//        获得用户数据并且发送到前台模板

        $haha = new CateModel();
        $cateres = $haha->getCate();
//        dump($cateres);

        $this->assign('cateres',$cateres);
        return view();

    }

//    加载用户列表页
    public function lst()
    {
        $haha = new CateModel();
        $adminres = $haha->getCate();
//        为前台模板分配变量
        $this->assign('adminres',$adminres);

//        使用控制器获得数据,照样是二维数组
//        $res = db('admin')->field('name')->select();
//        dump($res);die;

        return view();
    }

//    编辑用户
    public function edit($id)
    {
//        $admins = db('cate')->find($id);
//        $this->assign('admins',$admins);
        $haha = new CateModel();
        if (request()->isPost()){
            $save = $haha->save(input('post.'),['id'=>input('id')]);
            if ($save !== false){
                $this->success('修改成功',url('lst'));
            }else{
                $this->error('修改失败');
            }
        }

         $cates = $haha->find(input('id'));
        $admins = $haha->getCate();
//        为前台模板分配变量
        $this->assign(array(
            'admins'=>$admins,
            'cates'=>$cates
        ));
        return view();
    }

//    删除栏目
    public function del($id)
    {
//        dump(123);
        $res = db('cate')->delete(input('id'));
        if ($res){
            $this->success('删除成功',url('lst'));
        }else{
            $this->error('删除失败');
        }
    }

    public function delsoncate(){
        $cateid = input('id');
        $cate = new \app\admin\model\Cate();
        $sonids = $cate->getchilredid($cateid);
        if ($sonids){
            db('cate')->delete($sonids);
        }
    }


}
